package com.xiaoyu.awakening.records.client.annotation;

import com.xiaoyu.awakening.records.enums.OperateTypeEnums;
import jakarta.validation.constraints.NotNull;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * LogRecords
 *
 * @author wangxiaoyu
 * @date 2024/12/13 18:32
 * @since v1.0
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface AwkServerLogs {
    String value() default "";

    @NotNull
    String moduleCode();

    @NotNull
    String subModuleCode();

    OperateTypeEnums operateType() default OperateTypeEnums.QUERY;

    String detailsIdExp() default "";

    String updateBeforeInfoExp() default "";

    String updateAfterInfoExp() default "";

    @NotNull
    String messageExp();
}
